﻿@model XukaShop.Models.Entities.Promotion

@{
    ViewBag.Title = "PromotionDetail";
    Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
    var lstPromotionStatus = (List<XukaShop.Models.Entities.PromotionStatus>)ViewBag.ListPromotionStatus;
}

@section Breadcrumbs
{
    <div class="media">
        <div class="pageicon pull-left">
            <i class="fa fa-home"></i>
        </div>
        <div class="media-body">
            <ul class="breadcrumb">
                <li><a href="@Url.Action("Index", "Dashboard")"><i class="glyphicon glyphicon-home"></i></a></li>
                <li><a href="@Url.Action("Index", "Promotion")">Danh sách giảm giá</a></li>
            </ul>
            <h4>Chi tiết giảm giá</h4>
        </div>
    </div>
}

@section MenuBar
{
    <h5 class="leftpanel-title">Menu</h5>
    <ul class="nav nav-pills nav-stacked">
        <li><a href="@Url.Action("Index", "Dashboard")"><i class="fa fa-home"></i><span>Trang chủ</span></a></li>
        <li><a href="@Url.Action("Index", "Order")"><i class="glyphicon glyphicon-shopping-cart"></i><span>Đặt hàng</span></a></li>
        <li><a href="@Url.Action("Index", "Message")"><i class="glyphicon glyphicon-envelope"></i><span>Tin nhắn</span></a></li>
        <li class="parent"><a href="#"><i class="fa fa-file-text"></i><span>Sản phẩm</span></a>
            <ul class="children">
                <li><a href="@Url.Action("ProductList", "Product")">Tất cả sản phẩm</a></li>
                <li><a href="@Url.Action("NewProduct", "Product")">Sản phẩm mới</a></li>
                <li><a href="@Url.Action("CommingSoonProduct", "Product")">Sản phẩm sắp có</a></li>
                <li><a href="@Url.Action("Index", "Brand")">Nhãn hàng</a></li>
            </ul>
        </li>
        <li class="active"><a href="@Url.Action("Index", "Promotion")"><i class="glyphicon glyphicon-bullhorn"></i><span>Giảm giá</span></a></li>
        <li><a href="@Url.Action("MemberList", "Member")"><i class="glyphicon glyphicon-user"></i><span>Thành viên</span></a></li>
        <li class="parent"><a href="#"><i class="fa fa-file-text"></i><span>Quản lý chung</span></a>
            <ul class="children">
                <li><a href="@Url.Action("Index", "Banner")">Banners</a></li>
            </ul>
        </li>
    </ul>
}

<div class="row">
    <div class="col-sm-12 col-md-12">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">Chi tiết giảm giá</h4>
            </div>
            <div class="panel-body nopadding">
                <form class="form-horizontal form-bordered" id="frmPromotionDetail">
                    <div class="row">
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Tên</label>
                                <div class="col-sm-8">
                                    @Html.TextBoxFor(model => model.Name, null, new { @class = "form-control", @id = "txtPromotionName" })
                                </div>
                            </div>
                        </div>
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Miêu tả</label>
                                <div class="col-sm-8">
                                    @Html.TextBoxFor(model => model.PromotionContent, null, new { @class = "form-control", @id = "txtPromotionContent" })
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Từ ngày</label>
                                <div class="col-sm-8">
                                    <div class="input-group">
                                        <input type="text" name="FromDate" class="form-control" value="@DateTime.Today.ToString("MM/dd/yyyy")" placeholder="Ngày/Tháng/Năm" id="txtFromDate" readonly="true">
                                        <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Giảm giá</label>
                                <div class="col-sm-8">
                                    @Html.TextBoxFor(model => model.Discount, null, new { @class = "form-control", @id = "txtPromotionDiscount" })
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Đến ngày</label>
                                <div class="col-sm-8">
                                    <div class="input-group">
                                        <input type="text" name="ToDate" class="form-control" value="@DateTime.Today.ToString("MM/dd/yyyy")" placeholder="Ngày/Tháng/Năm" id="txtToDate" readonly="true"/>
                                        <span class="input-group-addon">
                                            <i class="glyphicon glyphicon-calendar"></i>
                                        </span>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="col-sm-6">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">Trạng Thái</label>
                                <div class="col-sm-8">
                                    <select id="cbbPromotionStatus" name="StatusId" data-placeholder="Choose One" class="width300">
                                        <option value=""></option>
                                        @foreach (var promotionStatus in lstPromotionStatus)
                                        {
                                            if (Model != null && promotionStatus.Id == Model.StatusId)
                                            {
                                            <option value="@promotionStatus.Id" selected>@promotionStatus.Name</option>
                                            }
                                            else
                                            {
                                            <option value="@promotionStatus.Id">@promotionStatus.Name</option>
                                            }
                                        }
                                    </select>
                                </div>
                            </div>
                        </div>
                    </div>
                    @Html.HiddenFor(model => model.Id, new { @id = "txtPromotionId" })
                </form>
            </div>
            <div class="panel-footer">
                <div class="row">
                    <div class="col-sm-12">
                        <button class="btn btn-primary mr5" id="btnSaveGeneralInfo" type="button" onclick="savePromotionInfo()">Lưu</button>
                        @Html.ActionLink("Quay lại", "Index", "Promotion", new { @class = "btn btn-dark" })
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript">
    jQuery(document).ready(function () {
        // Date Picker
        jQuery('#txtFromDate').datepicker();
        jQuery('#txtToDate').datepicker();

        jQuery('#cbbPromotionStatus').select2({});

        jQuery.validator.addMethod("greaterThan",
            function (value, element, params) {

                if (!/Invalid|NaN/.test(new Date(value))) {
                    return new Date(value) >= new Date($(params).val());
                }

                return isNaN(value) && isNaN($(params).val())
                    || (Number(value) > Number($(params).val()));
            }, 'Ngày kết thúc phải lớn hơn hoặc bằng ngày bắt đầu!');

        // Basic Form
        jQuery("#frmPromotionDetail").validate({
            rules: {
                Name: {
                    required: true,
                    minlength: 1,
                    maxlength: 50
                },
                PromotionContent: {
                    required: true,
                },
                Discount: {
                    required: true,
                    number: true,
                    min: 1,
                    max: 100
                },
                FromDate: {
                    required: true,
                },
                ToDate: {
                    required: true,
                    greaterThan: "#txtFromDate"
                },
                cbbPromotionStatus: {
                    required: true
                },
            },
            messages: {
                Name: {
                    required: "Xin hãy nhập tên cho chương trình giảm giá!",
                    minlength: "Tên chương trình giảm giá có ít nhất 1 ký tự",
                    maxlength: "Tên chương trình giảm giá có nhiều nhất 50 ký tự"
                },
                PromotionContent: {
                    required: "Xin hãy nhập nội dung cho chương trình giảm giá!"
                },
                Discount: {
                    required: "Xin hãy nhập số phần trăm giảm giá!",
                    number: "Xin hãy nhập số!",
                    min: "Giảm giá ít nhất là 1%!",
                    max: "Giảm giá nhiều nhất là 100%!"
                },
                FromDate: {
                    required: "Xin hãy nhập ngày bắt đầu!",
                },
                ToDate: {
                    required: "Xin hãy chọn ngày kết thúc!"
                },
                cbbPromotionStatus: {
                    required: "Xin hãy chọn trạng thái!"
                }
            },
            highlight: function (element) {
                jQuery(element).closest('.form-group').removeClass('has-success').addClass('has-error');
            },
            success: function (element) {
                jQuery(element).closest('.form-group').removeClass('has-error');
                jQuery(element).remove();
            }
        });
    });

    function showMessageSaveGeneralInfoError() {
        jQuery.gritter.add({
            title: 'Thất bại!',
            text: 'Không thể lưu thông tin sản phẩm! Xin hãy thử lại!',
            class_name: 'growl-danger',
            sticky: false,
            time: '1000'
        });
        return false;
    }

    function showMessageSaveGeneralInfoSuccess() {
        jQuery.gritter.add({
            title: 'Thành công!',
            text: 'Lưu thông tin sản phẩm thành công!',
            class_name: 'growl-success',
            sticky: false,
            time: '1000'
        });
        return false;
    }

    // Save general product information
    function savePromotionInfo() {
        if (jQuery("#frmPromotionDetail").valid()) {
            $.ajax({
                url: '@Url.Action("SavePromotion", "Promotion")',
                type: 'POST',
                dataType: 'json',
                data: $('#frmPromotionDetail').serialize(),
                success: function (data) {
                    if (data.Result == "@XukaShop.Common.CommonConst.SUCCESSFUL") {
                        // If success, fill the product code into ProductCode textbox
                        $('#txtPromotionId').val(data.PromotionId);
                        showMessageSaveGeneralInfoSuccess();
                    } else {
                        $('#txtPromotionId').val("");
                        showMessageSaveGeneralInfoError();
                    }
                },
                error: function () {
                    $('#txtPromotionId').val("");
                    showMessageSaveGeneralInfoError();
                }
            });
            }
        }
</script>
